【PHP/演習問題】オーバーライド[1]
問題
次の実行結果になるプログラムを作成してください。
なお、下記条件を満たすものとします。
- 下記表の3つのクラスを作成する
- 実行結果になるように各クラスのインスタンスを使う
クラス | 英記 | 継承元 | フィールド | メソッド |
---|---|---|---|---|
チケットクラス | Ticket |
なし | ・$price (料金) |
・info()
→ $ の値を出力 |
ライブチケット | LiveTicket |
Ticket |
・$place (場所) |
・info()
→ 場所と料金を出力 |
ライブ配信チケット | LiveStreamingTicket |
Ticket |
・$url (URL) |
・info()
→ URLと料金を出力 |
===== チケット =====
料金 : 5000円
===== ライブチケット =====
料金 : 8000円
場所 : ライブハウス
===== ライブ配信 =====
料金 : 3000円
URL : https://it-hack.net/live-streaming
解答例
<?php
class Ticket {
public $price;
public function info() {
echo '料金 : '.$this->price."円\n";
}
}
class LiveTicket extends Ticket {
public $place;
public function info() {
echo '料金 : '.$this->price."円\n";
echo '場所 : '.$this->place."\n";
}
}
class LiveStreamingTicket extends Ticket {
public $url;
public function info() {
echo '料金 : '.$this->price."円\n";
echo 'URL : '.$this->url."\n";
}
}
echo "===== チケット =====\n";
$ticket = new Ticket();
$ticket->price = 5000;
$ticket->info();
echo "===== ライブチケット =====\n";
$live_ticket = new LiveTicket();
$live_ticket->price = 8000;
$live_ticket->place = 'ライブハウス';
$live_ticket->info();
echo "===== ライブ配信 =====\n";
$live_streaming_ticket = new LiveStreamingTicket();
$live_streaming_ticket->price = 3000;
$live_streaming_ticket->url = 'https://it-hack.net/live-streaming';
$live_streaming_ticket->info();
?>